home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 41
/
Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso
/
Aminet
/
util
/
wb
/
SRAP.lha
/
srap
/
rexx
/
SRAP.rexx
Wrap
OS/2 REXX Batch file
|
2000-03-30
|
6KB
|
234 lines
/* $VER: SRAP.rexx 1.2 (30.03.2000) */
/* SRAP: Show Req Attack Picture */
/* Created by Ralf Heinert */
/* rx SRAP.rexx <Logo|AnimLogo|Button|Pattern> */
/* DOpus filetype: Vergl. RAIM\000 ID: RAIM */
/* Doubleclick : AmigaDOS rx SRAP.rexx {f} */
/* And check up the 'no quotes' option !!! */
SIGNAL ON break_c
SIGNAL ON failure
SIGNAL ON halt
SIGNAL ON ioerr
SIGNAL ON syntax
PARSE ARG RAPicture
PARSE SOURCE . . . ScriptPath . .
IF LastPos("/",ScriptPath) > 0 THEN Tc = "/"
ELSE Tc = ":"
ScriptPath = Left(ScriptPath,LastPos(Tc,ScriptPath)-1)
IF LastPos("/",ScriptPath) > 0 THEN Tc = "/"
ELSE Tc = ":"
ParentPath = Left(ScriptPath,LastPos(Tc,ScriptPath))
ScriptPath = ScriptPath"/"
IF Open('lg','ENV:language','R') THEN DO
language = ReadLn('lg')
Call Close('lg')
END
ELSE Language = "english"
IF RAPicture = "" THEN DO
ReqTitle = "SRAP Problem"
IF Language = "deutsch" THEN
ReqText = "\nAnwendung :\n\nrx SRAP < RAIM-Datei >"
ELSE
ReqText = "\nUsage:\n\nrx SRAP < RAIM-File >"
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
RAPicture = Strip(RAPicture,'B',D2C(34))
IF LastPos("/",RaPicture) = 0 THEN DO
ReqTitle = "SRAP Problem"
IF Language = "deutsch" THEN
ReqText = "\nDie Bilddatei darf sich NICHT \nin einem Wurzelverzeichnis \nbefinden !"
ELSE
ReqText = "\nThe image MUST NOT be placed\nin a root directory !"
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
RaPict = SubStr(RaPicture,LastPos("/",RaPicture)+1)
Path = Left(RaPicture,LastPos("/",RaPicture))
IF LastPos("/",Path) > 0 THEN Tc = "/"
ELSE Tc = ":"
RAPath = Left(Path,LastPos(Tc,Path)-1)
MPath = Left(RaPath,Length(RAPath)+1)
IF LastPos("/",MPath) > 0 THEN Tc = "/"
ELSE Tc = ":"
Drawer = SubStr(RaPath,LastPos(Tc,RaPath)+1)"/"
RaPath = Left(RAPath,Length(RAPath)-(Length(Drawer)-1))
RPath = Left(RAPath,Length(RAPath)-1)
IF LastPos("/",RPath) > 0 THEN Tc = "/"
ELSE Tc = ":"
RPath = SubStr(RaPath,LastPos(Tc,RPath)+1)
IF ~EXISTS(RaPicture) THEN DO
ReqTitle = "SRAP Problem"
IF Language = "deutsch" THEN
ReqText = "\nKann diese Datei nicht finden: \n\n"RAPicture
ELSE
ReqText = "\nCannot find this file: \n\n"RAPicture
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
CALL OPEN("Test",RaPicture,"R")
String = ""
DO i = 1 TO 8
String = String||ReadCh("Test")
END
CALL CLOSE("Test")
Kind = SubStr(String,8,1)
String = Left(String,4)
IF String ~= "RAIM" THEN DO
ReqTitle = "SRAP Problem"
IF Language = "deutsch" THEN
ReqText = RaPath"\n"Drawer"\n"RaPict"\n\nhat kein RAIM Format !"
ELSE
ReqText = RaPath"\n"Drawer"\n"RaPict"\n\nhas no RAIM format !"
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
RaPrefs = "ENV:ReqAttack.Prefs"
RbPrefs = "ENV:ReqAttack.Prefs-SRAP"
IF Exists(RaPrefs) THEN DO
DosCommand = "c:Rename "RaPrefs" AS "RbPrefs
Address command DosCommand
END
ELSE DO
ReqTitle = "SRAP Problem"
IF Language = "deutsch" THEN
ReqText = "Konnte die \n"RaPrefs"\nnicht finden ! "
ELSE
ReqText = "Could not find\n"RaPrefs
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
TPicture = "Ram:T/SRAP."Time('S')
Address Command "copy "RaPicture" "TPicture
CALL OPEN("Prefs",RaPrefs,"W")
WriteLn("Prefs","REQPOS = CENTER")
WriteLn("Prefs","if REQTITLE = "SRAP)
WriteLn("Prefs"," logo = "'"'TPicture'"')
IF Kind = "t" | Drawer = "Buttons" THEN DO
WriteLn("Prefs","okimage = "'"'TPicture'"')
WriteLn("Prefs","cancelimage = $OKIMAGE")
END
IF Drawer = "Patterns" THEN DO
WriteLn("Prefs","BACKGROUND = "RaPict)
END
WriteLn("Prefs","endif")
CALL CLOSE("Prefs")
ReqTitle = "SRAP"
ReqText = RPath"\n"Drawer"\n\n"RaPict
IF Kind = "t" THEN Gadgets = "- Button|OK"
ELSE Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
Address Command "Delete "RaPrefs" QUIET"
Address Command "Delete "TPicture" QUIET"
DosCommand = "c:Rename "RbPrefs" AS "RaPrefs
Address command DosCommand
EXIT
/* ------------ Routine zur Textausgabe mittels RequestChoice -------------- */
_RequestChoice:
Parse Arg ReqTitle, ReqText, Gadgets
IF EXISTS('c:RequestChoice') THEN DO
RCText = ReqText
/* Strings aufbereiten */
DO WHILE POS('\n',ReqText) > 0
ReqText = Overlay(D2C(10),ReqText,Pos('\n',ReqText),2)
RCText = Overlay('*n',RCText,Pos('\n',RCText),2)
END
RCText = RCText"*n"
/* Requester */
Dosbefehl = "C:RequestChoice >ENV:SrapReqErg "||,
D2C(32)||D2C(34)||,
ReqTitle||,
D2C(34)||D2C(32)||D2C(34)||,
RCtext||,
D2C(34)||D2C(32)||D2C(34)||,
Gadgets||D2C(34)
ADDRESS COMMAND Dosbefehl
END
RETURN 0
/* ----------------- Im Falle eines Script-Fehlers hier hin springen ---------------- */
break_c:
failure:
halt:
ioerr:
syntax:
Line = sigl
Fehlerinfo1 = 'Fehler Nr.'rc ':'
Fehlerinfo2 = ' 'ERRORTEXT(rc)
Fehlerinfo3 = "in Zeile "|| Line ':'
Fehlerinfo4 = ' 'Translate(Strip(SOURCELINE(Line),'B'),D2C(39),D2C(34))
IF Length(Fehlerinfo4) > 40 THEN DO
Len1 = Trunc(Length(Fehlerinfo4) / 2)
Len2 = Length(Fehlerinfo4) - Len1
Fehlerinfo4 = Left(Fehlerinfo4,Len1)||"*n "||Right(Fehlerinfo4,Len2)
END
Reqtext = Fehlerinfo1||"*n"||Fehlerinfo2||"*n"||Fehlerinfo3||"*n"||Fehlerinfo4
Gadgets = "OK"
CALL _RequestChoice("SRAP intern problem:", Reqtext, Gadgets)
EXIT(10)
/* Lager
IF ~EXISTS(ScriptPath'QuitReqAttack') THEN DO
ReqTitle = "SRAP Problem"
ReqText = "Could not find\n"ScriptPath'QuitReqAttack'
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
IF ~EXISTS(ParentPath'ReqAttack') THEN DO
ReqTitle = "SRAP Problem"
ReqText = "Could not find\n"ParentPath'ReqAttack'
Gadgets = "OK"
CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
EXIT
END
*/
/*
Address command ScriptPath'QuitReqAttack'
DO 30 WHILE SHOW('P','ReqAttack Warp Core')
ADDRESS COMMAND 'Wait >NIL: 1 SEC'
END
*/
/*
DO 30 WHILE ~SHOW('P','ReqAttack Warp Core')
ADDRESS COMMAND 'Wait >NIL: 1 SEC'
END
Address command ParentPath'ReqAttack'
*/